/**
 * 定义所有可能的事件名称。
 */
export enum EventNameEnum {
    UPDATE_REFRESH = 'update:refresh',
    CUSTOM_EVENT = 'custom:event'
}
  
/**
 * 定义组件可能发射的事件及其签名。
 *
 * @interface EmitEvents
 * @description 此接口定义了组件可以发射的所有事件及其参数类型。
 */
export interface EmitEvents {
    /**
   * 发射更新刷新事件。
   *
   * @param {EventNameEnum} e - 事件名称。
   */
    (e: typeof EventNameEnum.UPDATE_REFRESH): void;

    /**
     * 发射自定义事件，并传递参数。
     *
     * @param {typeof EventNameEnum.CUSTOM_EVENT} e - 事件名称。
     * @param {T} payload - 事件参数。
     */
    <T>(e: typeof EventNameEnum.CUSTOM_EVENT, payload: T): void;
}